Ext.define('aps.comboFase', {
    extend: 'Ext.form.ComboBox',
    alias:  'aps.comboFase',
    
    id:             'combo-fase',
    name:           'combo-fase',
    fieldLabel:     '<b>Fase</b>',
    emptyText:      'Seleccione una fase ...',
    displayField:   'nombre_orden',
    valueField:     'id',
    triggerAction:  'all',
    forceSelection: true,
    editable:       false,
    queryMode :     'remote',
    //mode:           'remote',
    disabled:       true,
    width:          350,
    labelWidth:     40,
    
    initComponent: function() {        
        this.listConfig = {
            getInnerTpl: function() {
                return '<div data-qtip="<b>ID Fase:</b>{idfase}<br/><b>Fase:</b>{nombre}<br/><b>Orden:</b>{orden}<br/><b>Estado:</b>{estado}"><b>{nombre}</b> - <i>{orden}</i></div>';
            }
        }
        this.store = Ext.create('Ext.data.Store',{
            fields: [
                {name:'idfase',       type:'string'},
                {name:'estado',       type:'string'},
                {name:'nombre',       type:'string'},
                {name:'orden',        type:'string'},
                {name:'nombre_orden', type:'string'}
            ],
            proxy: {
                type: 'ajax',
                url: '/llenar_combo_fase',
                reader: {
                    type: 'json',
                    root: 'data',
                    totalProperty: 'total'
                }
            },
            listeners: {
                beforeload : function(store, operation, opts){
                    var idrol      = Ext.getCmp('combo-proyecto').valueModels[0].data.idrol
                    var idproyecto = Ext.getCmp('combo-proyecto').valueModels[0].data.idproyecto;
                    operation.params = {
                        idproyecto : idproyecto,
                        idrol      : idrol
                    }
                }
            }
        });
        this.listeners = {
            select : function(combo, records, opts){
                Ext.getCmp('funcionalidades').cambiar_funcionalidades([0,1,2,3]);
            },
            expand : function(combo) {
                combo.clearValue();
            }
        }
        this.callParent(arguments);
    }
});
